4546342d4adcbae816ce1bb1a4b8c18431dc7552,strutsclipse-plugin/src/com/amashchenko/eclipse/strutsclipse/ProjectUtil.java,ProjectUtil,findResources,#IDocument#String#String#String#,194
Before Change
final IProject project = javaProject.getProject();
final String outputFolder = javaProject.getOutputLocation()
.makeRelativeTo(project.getFullPath()).segment(0);
project.accept(new IResourceVisitor() {
@Override
public boolean visit(IResource resource)
throws CoreException {
// don't visit output folder
if (resource.getType() == IResource.FOLDER
&& resource.getProjectRelativePath().segment(0)
.equals(outputFolder)) {
return false;
}
if (resource.isAccessible()
&& resource.getType() == IResource.FILE
&& fileExtension.equalsIgnoreCase(resource
.getFileExtension())) {
boolean addToList = false;
if (contentType == null) {
addToList = resource.getName()
.toLowerCase(Locale.ROOT)
.contains(fileName);
} else {
IFile file = project.getFile(resource
.getProjectRelativePath());
IContentDescription descrp = file
.getContentDescription();
addToList = descrp.getContentType().isKindOf(
contentType);
}
if (addToList) {
try {
provider.connect(resource);
IDocument document = provider
.getDocument(resource);
provider.disconnect(resource);
resources.add(new ResourceDocument(
resource, document));
} catch (CoreException e) {
e.printStackTrace();
}
}
}
return true;
}
});
}
} catch (CoreException e) {
e.printStackTrace();
After Change
IVirtualComponent rootComponent = ComponentCore
.createComponent(project);
if (rootComponent != null) {
IVirtualFolder folder = rootComponent.getRootFolder();
if (folderName != null) {
folder = folder.getFolder(folderName);
}
if (folder != null && folder.exists()) {
IResource[] resources = folder.getUnderlyingResources();
if (resources != null) {
final IDocumentProvider provider = new TextFileDocumentProvider();
for (final IResource res : resources) {
res.accept(new IResourceVisitor() {
@Override
public boolean visit(IResource resource)
throws CoreException {
if (resource.isAccessible()
&& resource.getType() == IResource.FILE
&& resource.getFileExtension() != null
&& fileExtensions
.contains(resource
.getFileExtension()
.toLowerCase(
Locale.ROOT))) {
boolean addToList = false;
if (contentTypeId == null) {
addToList = true;
} else if (contentType != null) {
IFile file = project.getFile(resource
.getProjectRelativePath());
IContentDescription descrp = file
.getContentDescription();
addToList = descrp
.getContentType()
.isKindOf(contentType);
} else if (fileName != null
&& resource
.getName()
.toLowerCase(
Locale.ROOT)
.contains(fileName)) {
addToList = true;
}
if (addToList) {
IPath path = resource
.getProjectRelativePath()
.makeRelativeTo(
res.getProjectRelativePath());
if (makeAbsolute) {
path = path.makeAbsolute();
}
try {
provider.connect(resource);
IDocument document = provider
.getDocument(resource);
provider.disconnect(resource);
result.add(new ResourceDocument(
resource, document,
path.toString()));
} catch (CoreException e) {
e.printStackTrace();
}
}
}
return true;
}
});
}
}
}